package scalalala

//1.addOne 函数：接受一个整数列表作为参数，将列表中的每个整数加 1，并返回结果列表。
//2.filterEven 函数：接受一个整数列表作为参数，返回所有偶数的列表。
//3.mapReduce 函数：接受一个整数列表和两个函数作为参数
//分别是映射函数和归约函数，该函数首先将列表中的每个元素应用于映射函数，然后将结果应用于归约函数并返回最终结果。
object functions {
  def addOne(list: List[Int]): Unit = {
    println(list.map(_ + 1))
  }

  def filterEven(list: List[Int]): Unit = {
    println(list.filter(_ % 2 == 0))
  }

  def mapReduce(list: List[Int])(mapFunc: Int => Int)(reduceFunc: (Int, Int) => Int): Unit = {
    println(list.map(mapFunc).reduce(reduceFunc))
  }

  def main(args: Array[String]): Unit = {
    val Onelist:List[Int]=List(0,1,2)
    addOne(Onelist)
    filterEven(Onelist)
    mapReduce(Onelist)(x=>x+1)((x,y)=>x+y)
  }
}
